home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / blit.arc / LBLT.C < prev    next >
Text File  |  1985-05-23  |  1KB  |  47 lines

  1. /*
  2.  * name:         lblt
  3.  *
  4.  * description: given a layer l, a bitmap sb, a rectangle r
  5.  *              and a function code f, copy the off-screen bitmap sb
  6.  *              to a rectangle r within layer l, using the function code f.
  7.  *
  8.  * synopsis:     lblt (l, sb, r, hb, pt, f)
  9.  *              struct layer    *l;
  10.  *              struct bitmap   *sb;
  11.  *              struct rectangle    *r;
  12.  *              struct bitmap   *hb;
  13.  *              struct point    *pt;
  14.  *              int      f;
  15.  *
  16.  * globals:      lbblt ()
  17.  *
  18.  * calls:        layerop  (layerop.c)
  19.  *              raddp     (raddp.c)
  20.  *
  21.  * called by:    this is a top-level function.
  22.  *              lbitblt   (lbitblt.c)
  23.  */
  24. #include "layers.h"
  25.  
  26. lblt (l, sb, r, hb, pt, f)
  27. struct layer  *l;
  28. struct bitmap *sb;
  29. struct rectangle  *r;
  30. struct bitmap *hb;
  31. struct point  *pt;
  32. int    f;
  33. {
  34.    struct point     dp;
  35.    struct rectangle  rr;
  36.  
  37.    int      lbblt ();
  38.  
  39.    dp.x = (pt -> x) - (r -> origin.x);
  40.    dp.y = (pt -> y) - (r -> origin.y);
  41.    rr.origin.x = (r -> origin.x) + dp.x;
  42.    rr.origin.y = (r -> origin.y) + dp.y;
  43.    rr.corner.x = (r -> corner.x) + dp.x;
  44.    rr.corner.y = (r -> corner.y) + dp.y;
  45.     (void) layerop (l, lbblt, &rr, sb, hb, &dp, &f);
  46. }
  47.